package com.example.demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;


@WebServlet(value = "/DisplayHeader")
public class DisplayHeader extends HttpServlet {

    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");


        PrintWriter out = resp.getWriter();
        String title = "Http Header 请求数据";
        Enumeration headerNames = req.getHeaderNames();
        while (headerNames.hasMoreElements()) {
            String paramName = (String) headerNames.nextElement();

            out.println(paramName + "=" + req.getHeader(paramName) + "   |  ");
        }
    }


    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

/*
*Content-Type 内容类型
* 网页中的存在的Content-Type 用于定义网络文件的类型和网页的编码，决定浏览器将以什么形式、什么编码读取这个文件
* Content-Type: text/html; charset=utf-8
*
*
*

 * Accept 指定浏览器或其他客户端可以处理的MIME类型 。Multipurpose Internet Mail Extensions 描述消息内容类型的标准 用来表示文档 文件 或字节流的性质和格式
 *          MIME消息能包含文本 图像 音频 视频 以及其他应用程序专用的数据
 *           浏览器通常使用MIME 类型而不是文件扩展名 来确定如何处理URL 因为WEB服务器在响应头中添加正确的MIME类型非常重要。配置不正确的话，浏览器
 *           可能会无法解析文件内容。网站将无法正常工作，并且下载的文件也会被错误处理。
 *           mime类型的通用结构
 *               type/subtype  大小写不敏感 传统写法都是小写
 *           text/plain  文本文件的默认值
 *           application/octet-stream 所有其他情况的默认值
 *           常见的mime
 *               超文本标记语言文本html  text/html
 *               普通文本txt  text/plain
 *               RTF文本 rtf  application/rtf
 *               GIF图像gif  image/gif
 *               JPEG 图形 jpeg  image/jpeg
 *               au声音文件au  audio/basic
 *               MIDI音乐文件 audio/midi audio/x-midi
 *               RealAudio音乐文件 audio/x-pn-realaudio
 *               MPEG文件 .mpg  .mpeg   video/mpeg
 *               AVI文件.avi  video/x-msvideo
 *               GZIP.gz  application/x-gzip
 *               TAR .tar  application/x-tar
 * */
